home *** CD-ROM | disk | FTP | other *** search
/ SGI Freeware 2002 November / SGI Freeware 2002 November - Disc 1.iso / dist / fw_enscript.idb / usr / freeware / share / enscript / hl / states.st.z / states.st
Encoding:
Text File  |  2002-04-08  |  1.9 KB  |  91 lines

  1. /**
  2.  * Name: states
  3.  * Description: States program's definition files.
  4.  * Author: Markku Rossi <mtr@iki.fi>
  5.  */
  6.  
  7. state states_regexp extends Highlight
  8. {
  9.   /\\\\./ {
  10.     language_print ($0);
  11.   }
  12.   /\// {
  13.     language_print ($0);
  14.     return;
  15.   }
  16. }
  17.  
  18. state states extends HighlightEntry
  19. {
  20.   /* Comments. */
  21.   /\/\*/ {
  22.     comment_face (true);
  23.     language_print ($0);
  24.     call (c_comment);
  25.     comment_face (false);
  26.   }
  27.  
  28.   /* String constants. */
  29.   /\"/ {
  30.     string_face (true);
  31.     language_print ($0);
  32.     call (c_string);
  33.     string_face (false);
  34.   }
  35.  
  36.   /* Regular expressions. */
  37.   /\\\// {
  38.     string_face (true);
  39.     language_print ($0);
  40.     call (states_regexp);
  41.     string_face (false);
  42.   }
  43.  
  44.   /* Subroutine definitions. */
  45.   /\b(sub)([ \t]+)([$a-zA-Z_][$a-zA-Z_0-9]*)([ \t]*\()/ {
  46.     keyword_face (true);
  47.     language_print ($1);
  48.     keyword_face (false);
  49.  
  50.     language_print ($2);
  51.  
  52.     function_name_face (true);
  53.     language_print ($3);
  54.     function_name_face (false);
  55.  
  56.     language_print ($4);
  57.   }
  58.  
  59.   /* Keywords.
  60.      (build-re '(BEGIN END div else extends for if local namerules
  61.      return start startrules state sub while))
  62.    */
  63.   /\b(BEGIN|END|div|e(lse|xtends)|for|if|local|namerules|return\
  64. |s(ta(rt(|rules)|te)|ub)|while)\b/ {
  65.     keyword_face (true);
  66.     language_print ($0);
  67.     keyword_face (false);
  68.   }
  69.  
  70.   /* Build-ins:
  71.      (build-re '(call calln check_namerules check_startrules concat
  72.      getenv int length list panic prereq print regmatch regsub
  73.      regsuball require_state sprintf strcmp string strncmp substring))
  74.    */
  75.   /\b(c(all(|n)|heck_(namerules|startrules)|oncat)|getenv|int|l(ength|ist)\
  76. |p(anic|r(ereq|int))|re(g(match|sub(|all))|quire_state)\
  77. |s(printf|tr(cmp|ing|ncmp)|ubstring))([ \t]*\()/ {
  78.     builtin_face (true);
  79.     language_print ($1);
  80.     builtin_face (false);
  81.     language_print (substring ($0, length ($1), length ($0)));
  82.   }
  83. }
  84.  
  85.  
  86. /*
  87. Local variables:
  88. mode: c
  89. End:
  90. */
  91.